package com.wangdao.wechatmall.service.admin;

import com.wangdao.wechatmall.bean.bo.admin.PermissionBO;
import com.wangdao.wechatmall.bean.bo.admin.RoleBO;
import com.wangdao.wechatmall.bean.bo.admin.RoleParamBO;
import com.wangdao.wechatmall.bean.pojo.Permission;
import com.wangdao.wechatmall.bean.pojo.Role;
import com.wangdao.wechatmall.bean.vo.admin.PermissionVO;
import com.wangdao.wechatmall.bean.vo.admin.RoleDataVO;
import com.wangdao.wechatmall.exception.RoleDuplicatedException;
import com.wangdao.wechatmall.exception.RoleEmptyException;
import com.wangdao.wechatmall.bean.vo.admin.RoleVO;

import java.util.List;

/**
 * @ClassName: RoleService
 * @Description ${DESCRIPTION}
 * @Author Xinhao Yi
 * @Date 2021/7/9  1:46
 */
public interface RoleService {
    List<RoleVO> queryRole();

    RoleDataVO queryRole(RoleParamBO param);

    Role create(RoleBO param) throws RoleEmptyException, RoleDuplicatedException;

    Integer update(Role param) throws RoleEmptyException;

    Boolean delete(Role param);

    PermissionVO queryPermissionsGet(Permission param);



    Integer queryPermissionsPost(PermissionBO param);

    List<String> queryNameByRoleId(Integer[] roleIds);

}
